package com.company.project.dao;

import com.company.project.core.Mapper;
import com.company.project.model.News;
import com.company.project.util.PageUtil;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface NewsMapper extends Mapper<News> {

    //根据类型查询新闻
    List<News> selectNewsByDeployModule();

    //根据类型查询全部新闻，分页
    List<News> selectAllNewsByDeployModule(@Param("deployModule") String deployModule,@Param("pageUtil") PageUtil pageUtil);

    //查询总条数根据类型
    Integer selectAllCount(String deployModule);
    /**
     * 根据活动查询
     * @param
     * @return
     */
    List selectNews(@Param("title")String title);

    //查询根据id单个详情
    News selectNewsById(Integer id);

    /**
     * 添加工作动态
     *
     */
    Boolean addWorkTrend(News news);

    /**
     * 删除工作动态
     */
    Boolean delWorkTrend(News news);

    /**
     * 后台查询所有新闻
     */
    List<News> selectNewsAll(@Param("deployModule") String deployModule,@Param("pageUtil") PageUtil pageUtil);
    /**
     * 后台查询新闻总页数
     */
    Integer selectNewsCount(String deployModule);
    /**
     * 修改工作动态
     */
    Boolean updateWorkTrend(News news);

    /**
     * 直接上架
     * @return
     */
    Boolean updateNews(News news);

    /**
     * 添加上架
     * @param news
     * @return
     */
    Boolean addPutAway(News news);

    /**
     * 前台搜索框搜索新闻
     */
    List<Map<Object,Object>> queryNews(@Param ("pageUtil") PageUtil pageUtil, @Param("cname") String cname);
    Integer queryNewsCount(String title);

    /**
     * 根据ID查询图片路径
     * @param id
     * @return
     */
    News selectUrl(Integer id);

}